package com.mrd.frame.domain;

import java.util.Date;

/**
 * MRDPAY.ORDER_INTERACTIONS
 * @author dusy  2017-06-02
 * 订单请求的每次交互情况
 */
public class OrderInteraction {
    /**
     * id
     */
    private String orderInteractionId;

    /**
     * 订单id
     */
    private String orderId;

    /**
     * A1：client向server的支付请求， A2：server向第三方的支付请求， 
     * A3：第三方给server的支付请求反馈， A4：server给client的支付请求反馈，
     * A5：第三方给server的支付结果， A6：server给第三方的收到支付结果反馈， 
     * A7：server给client的支付结果， A8：client给server的收到支付结果反馈，
     * B1：client向server的退款请求， B2：server向第三方的退款请求， 
     * B3：第三方给server的退款结果， B4：server给client的退款结果， 
     * C1：client向server的对账请求， C2：server给client的对账结果
     */
    private String type;

    /**
     * 请求提交的参数
     */
    private String parameters;

    /**
     * 交互产生的时间
     */
    private Date createTime;

    /**
     * 请求状态  0：发送成功，1：发送失败
     */
    private String status;

    
    public OrderInteraction() {
		super();
	}

	public OrderInteraction(String orderId, String type, String parameters) {
		super();
		this.orderId = orderId;
		this.type = type;
		this.parameters = parameters;
		this.createTime = new Date();
		this.status = "0";
	}

	public String getOrderInteractionId() {
        return orderInteractionId;
    }

    public void setOrderInteractionId(String orderInteractionId) {
        this.orderInteractionId = orderInteractionId == null ? null : orderInteractionId.trim();
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId == null ? null : orderId.trim();
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type == null ? null : type.trim();
    }

    public String getParameters() {
        return parameters;
    }

    public void setParameters(String parameters) {
        this.parameters = parameters == null ? null : parameters.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status == null ? null : status.trim();
    }
}